home *** CD-ROM | disk | FTP | other *** search
- import com.siemens.mp.game.GraphicObjectManager;
- import com.siemens.mp.game.TiledBackground;
- import java.io.InputStream;
- import java.util.Random;
-
- // $FF: renamed from: j
- public class class_0 {
- public int numBuildInTiles = 3;
- public int groundTile;
- public int airTile;
- // $FF: renamed from: a d
- private d field_0;
- // $FF: renamed from: b int
- private int field_1 = 0;
- // $FF: renamed from: c int
- private int field_2 = 10;
- public int mapXSize;
- public int mapYSize;
- public int width;
- public int height;
- public byte[] map;
- public int levelX;
- public int levelY;
- // $FF: renamed from: d int
- private int field_3;
- // $FF: renamed from: e boolean
- private boolean field_4;
- // $FF: renamed from: f boolean
- private boolean field_5;
- // $FF: renamed from: g java.io.InputStream
- private InputStream field_6;
- // $FF: renamed from: h int[][]
- private int[][] field_7 = new int[][]{{86, 56}, {192, 248}, {24, 136, 160, 144}, {24, 312}, {24, 144, 96, 144}, {120, 136, 48, 184}, {136, 48, 256, 160, 144, 200}, {104, 136, 120, 208}, {56, 216}, {176, 136, 184, 32, 40, 56}, {168, 48}, {256, 64}};
- public int[] openingPositions = new int[]{156, 190, 108, 60, 60, 75, 30, 60, 84, 124, 35, 37};
- // $FF: renamed from: i com.siemens.mp.game.TiledBackground
- private TiledBackground field_8;
- public d tiles;
- public l[] crystals = new l[10];
- public int numCrystals = 0;
- // $FF: renamed from: j com.siemens.mp.game.GraphicObjectManager
- private GraphicObjectManager field_9;
- // $FF: renamed from: k f
- private f field_10;
- // $FF: renamed from: l k
- private k field_11;
-
- public class_0(f var1, GraphicObjectManager var2) {
- this.field_10 = var1;
- this.field_9 = var2;
- this.tiles = var1.getSprite("res\\game_tiles.spr");
- this.field_0 = var1.getSprite("res\\game_uparrow.spr");
- var2.addObject(this.field_0.getSprite());
- }
-
- public void center(int var1, int var2) {
- if (var2 > 40) {
- this.levelY = var2 - 40;
- }
-
- if (var1 > 48) {
- this.levelX = var1 - 48;
- }
-
- if (this.levelX > this.width - 96) {
- this.levelX = this.width - 96;
- }
-
- if (this.levelY > this.height - 80) {
- this.levelY = this.height - 80;
- }
-
- this.field_8.setPositionInMap(this.levelX, this.levelY);
-
- for(int var3 = 0; var3 < this.numCrystals; ++var3) {
- this.crystals[var3].updatePosition();
- }
-
- }
-
- public boolean crystalsToCollect() {
- return this.field_4;
- }
-
- public void newLevel(int var1, i var2, k var3, Random var4) {
- this.field_11 = var3;
- this.field_3 = var1;
- this.levelX = 0;
- this.levelY = 0;
- this.field_0.setVisible(false);
- String var5 = "/res\\level" + (var1 + 1) + ".map";
-
- try {
- byte[] var6 = new byte[2];
- InputStream var7 = this.getClass().getResourceAsStream(var5);
- var7.read(var6);
- this.width = this.mapXSize = e.convertByte(var6[0]);
- this.height = this.mapYSize = e.convertByte(var6[1]);
- this.width <<= 3;
- this.height <<= 3;
- this.map = new byte[this.mapXSize * this.mapYSize];
- var7.read(this.map);
- this.groundTile = 56 + this.numBuildInTiles;
- this.airTile = 11 + this.numBuildInTiles;
- if (this.numBuildInTiles > 0) {
- this.airTile = 1;
- this.groundTile = 2;
-
- for(int var8 = 0; var8 < this.map.length; ++var8) {
- byte[] var10000 = this.map;
- var10000[var8] = (byte)(var10000[var8] + this.numBuildInTiles);
- if (this.map[var8] == 56 + this.numBuildInTiles) {
- this.map[var8] = (byte)this.groundTile;
- } else if (this.map[var8] == 11 + this.numBuildInTiles) {
- this.map[var8] = (byte)this.airTile;
- }
- }
- }
-
- var7.close();
- } catch (Exception var10) {
- System.out.println("Exception: " + var10 + " " + var5);
- }
-
- try {
- if (this.field_8 != null) {
- this.field_9.deleteObject(this.field_8);
- }
-
- this.field_9.deleteObject(this.field_0.getSprite());
- this.field_8 = new TiledBackground(this.tiles.getPixels(), (byte[])null, this.map, this.mapXSize, this.mapYSize);
- this.field_8.setVisible(true);
- this.field_9.addObject(this.field_8);
- this.numCrystals = 0;
-
- for(int var11 = 0; var11 < this.field_7[var1].length >> 1; ++var11) {
- if (this.crystals[this.numCrystals] != null) {
- this.crystals[this.numCrystals].crystal.setVisible(false);
- this.crystals[this.numCrystals].arrow.setVisible(false);
- }
-
- this.crystals[this.numCrystals] = new l(this.field_10, this.field_9, var2, var4, var3, this.field_5);
- this.crystals[this.numCrystals].setLevel(this);
- this.crystals[this.numCrystals].setPosition(this.field_7[var1][var11 << 1], this.field_7[var1][(var11 << 1) + 1]);
- ++this.numCrystals;
- }
-
- this.field_9.addObject(this.field_0.getSprite());
- var3.setLevel(this);
- var3.reset(this.field_5);
- var3.positionX = this.openingPositions[var1] - 12 << 14;
- var3.positionY = 163840;
- } catch (Exception var9) {
- System.out.println("Exception: " + var9);
- }
-
- System.gc();
- }
-
- public void runFrame() {
- if (this.field_1 == 0) {
- --this.field_2;
- } else {
- ++this.field_2;
- }
-
- if (this.field_2 > 20 || this.field_2 < 0) {
- this.field_1 ^= 1;
- }
-
- for(int var1 = 0; var1 < this.numCrystals; ++var1) {
- this.crystals[var1].runFrame();
- }
-
- this.field_4 = false;
-
- for(int var2 = 0; var2 < this.numCrystals; ++var2) {
- if (!this.crystals[var2].collected()) {
- this.field_4 = true;
- }
- }
-
- if (!this.field_4) {
- this.field_0.setVisible(true);
- this.field_0.setPosition(this.openingPositions[this.field_3] - 4 - this.levelX, 20 - (this.field_2 >> 1) - this.levelY);
- }
-
- }
-
- public void setSound(boolean var1) {
- this.field_5 = var1;
- }
- }
-